The world-wide-web (WWW) interface protocol over Internet provides a convenient mechanism for distributing information from web servers to web users at client computers which are connected to the web servers through Internet or private networks.
When a web server receives a request from a client computer for a dynamic web page, it runs the Java Server Pages (JSP) or Servlet associated with the URL and passes the browser information and other parameters to the JSP. This Servlet or CGI-executable may access and retrieve data stored in the web server or other connected computers to generate a web page. When the data in the real world is changed or updated, the information shown on the web page necessarily changes.
Computer applications often use graphics to present information and use Graphic User Interface (GUI) as the interface between computers and their users. While text interface is still in use, it is not favored. GUI is characterized by use of menus selection lists, popup-windows, and visual-presentation components such as charts, trees, graphs and maps. Because of the intensive use of graphics, it may require considerable effort to develop and modify the contents of web pages.
Commercially available web browsers support many presentation technologies such as Dynamic Hypertext Markup Language (DHTML), Extensible Hypertext Markup Language (XHTML) Document Object Model (DOM), JavaScript, Cascading Style Sheets (CSS), extensible Stylesheet Language (XSL), three-dimensional modeling language (e.g., X3D), and Scalable Vector Graphics (SVG), Synchronized Multimedia Integration Language (SMIL), and XForms. The use of such a combination of programming languages makes programming more complex. To present a component on a web page, the JSP/Servlet must create the code to present the component and include the code in the file of the web page. Programming for Internet applications requires experience in both Java (or other equivalent languages) for the server, and DHTML/JavaScript and SVG/XAML for the client computer. It might be necessary to create and debug several hundred to thousands of lines of code to present a web page.
In addition, different browsers require different DHTML/JavaScript code to present a component, and, therefore, different web pages must be developed for different browsers and devices to present the same component. To develop a more complicated web application, application developers often need to write code in appropriate languages and presentation technologies such as DHTML, DOM, JavaScript, CSS, XML, XSL, SVG and XAML for each specific browser.
Furthermore, when plural components are integrated to build a larger application component, application developers are required to manually code to integrate the components. The integration code allows the components to work together collaboratively.
Finally, information critical to business decisions constantly changes real-time, and, therefore, updating web pages by rewriting presentation code of the web page by the conventional method is neither realistic nor economical. Various attempts are made to speed up the process of application development in this and other similar environments for same or similar reasons.
A method of reuse of image data is described in U.S. Pat. No. 6,539,420 B1, filed Mar. 25, 2003, titled “Distribution Mechanism for Reuse of Web Based Image Data”, granted to Fields et al. This method describes a technology of reuse of image data in a distributed computer network at a web server in response to a request from a client browser for a web page. A template defining a composite image is retrieved and at least one image object identified by the template is retrieved from another location to the web server followed by a given image transform and the transformed image object being mapped into the composite image according to the template. The method is limited to web-based image data.
A method for creating graphical programs is described in U.S. Pat. No. 6,053,951, filed on Apr. 25, 2000, titled “Man/Machine Interface Graphical Code Generation Wizard for Automatically Creating MMI Graphical Programs”, granted to McDonald et al. This application describes a computer-implemented system and method for automatically generating graphical code in a graphical programming system. The graphical code generation wizard selects a graphical code template stored in the computer memory in response to the control arranged by the user and configures the graphical code template with the parameter values selected by the user, and then creates an association, which is able to be unlocked by the user, between the control and the configured graphical code.
A method for automatic web page creation of an organizational directory for use in an Internet and Intranet environment is disclosed in U.S. Pat. No. 5,940,834, filed on Aug. 17, 1999, titled “Automatic Web Page Generator”, and granted to Debbie Pinard and Richard Deadman. The web page directory is created from data stored in the directory application component of the web page generator and, after being placed on a web server, allows any individual who has network access to the web server offering the web page to view the directory information in a web page format. This method is not intended to create any web component.
A method for building templates is disclosed in U.S. Pat. No. 6,093,215, filed on Jul. 25, 2000, titled “Method and Apparatus for Building Templates in a Component System”, and granted to Jeffrey J. Buxton and Eric S. Portner. A component customization and distribution system in an object oriented environment provides a template builder utility which enables selection of a base component, modification to the state of persistent data of the base component, storing of the modification to the persistent data of the base component into a template format, and user-password locking of the template. The template builder utility further enables the generation of user-defined instructions as part of the template and generation of a template distribution pack, for which the generation methods are also disclosed.
There is still a need for a system and method for developing components efficiently and a method for using pre-built components to build larger components or applications.